//
//  Person.swift
//  swift3.0 遍历构造函数
//
//  Created by 龚昕炜 on 16/7/27.
//  Copyright © 2016年 龚昕炜. All rights reserved.
//

import UIKit

class Person: NSObject {
    
    var name: String?
    var age: Int = 0
    
    /** 用来做条件判断和简化对象初始化；本身不初始化对象，只有便利构造函数才调用 self.init()； 可以返回nil */
    convenience init?(name: String, age: Int) {
        
        if age > 100 {
            return nil
        }
        
        self.init()
        
        /** 必须在super.init()之后，self.name初始化之后再对其进行修改 */
        self.name = name
        
    }
    
    /**
     1.析构函数
     2.自动调用，不允许直接调用
     3.没有()，不带参数不允许重写
     4.使用
        1.跟踪对象被销毁
        2.NSTimer必须销毁(循环引用)
        3.通知必须销毁(内存泄漏)
        4.KVO(崩溃)
     */
    deinit {
        
    }

}
